'''
所有椐有独立功能的代码块组织成一个小的模块，这就是函数
定义函数  def 函数名称(形参):
                逻辑代码
                return  返回值
函数不调用是被执行  调用的时候需要给指定的函数中的实参
'''
alist= [1,32,223,456,89,45,345,234]
for i in range (0,len(alist)-1):
    for j in range (0,len(alist)-1-i):
        if alist[j] > alist[j+1]:
            alist[j], alist[j+1] = alist[j+1], alist[j]
print(alist)
def mySort(xlist):
    for i in range(0, len(xlist) - 1):
        for j in range(0, len(xlist) - 1 - i):
            if xlist[j] > xlist[j + 1]:
                xlist[j], xlist[j + 1] = xlist[j + 1], xlist[j]
#无返回值
def add(a,b):
    print(a+b)
#调用函数
add(10,30)

#有返回值
def add2(a,b):
    return a+b

n = add2(100,30)
print(n)

#缺省参数  默认值参数  要放到最后面
def login(password,username="admin"):
    if username == "admin"and password == "admin":
        return {"status":200,"msg":"登录成功"}
    else:
        return {"status":400, "msg": "用户名或者密码错误"}

print(login(password="admin",username="admin1"))
print(login(password="admin"))

#可变参数
def add(*args):#args是元组 调用函数的多个参数会组成一个元组赋值给args
    sum = 0
    for a in args:
        sum+=a
    return sum
sum = add(1,2,3)
print(sum)

#字典可变参数
def login1(**kwargs):
    print(kwargs)
x=1000
def funA():
    a=100
    print(x)
def funB():
    a=200
    print(x)
    global x
    x=200
    print(x)
if __name__ == '__main__':
    login1(name="admin", password="123")
    rep = login(password="admin", username="admin")
    if 200 == rep["status"]:
        print("成功")
